iT邦幫忙

2023 iThome 鐵人賽

DAY 29
0
自我挑戰組

複習 JavaScript 核心概念系列 第 29

[Day 29] ECMAScript 各版本重點語法

  • 分享至 

  • xImage
  •  

ECMAScript(簡稱 ES) 是一個用來標準化 JavaScript 語言的規範,它的第一個版本(ES1)在 1997 年釋出,並在之後幾年陸續都有釋出新版本,而最廣為人知的就是 2015 年的 ES6 版本。而直到今年最新的版本為 ECMAScript 2023(ES14)。不過今天不是要講它的發展史,而是重點選出今年之前各版更新了那些語法。

ES1 ~ ES5

  • ECMAScript 1(1997年)
    • 基本語法:變數、資料型別、運算符等基本語法
    • 控制結構:條件語句、迴圈等基本控制結構
  • ECMAScript 2(1998年)
    • 修復了 ES1 的一些錯誤和不足之處
  • ECMAScript 3(1999年)
    • 引入了正規表達式
    • 新的數字和字串方法
    • try/catch 錯誤處理機制
  • ECMAScript 4(未釋出)
    • 由於爭議和複雜性,第 4 版被放棄
  • ECMAScript 5(2009年)
    • 新增嚴格模式(strict mode)
    • 新的陣列方法(例如 forEachmapfilter
    • 支援 JSON

ECMAScript 6 (2015年)

  • 用 let 和 const 來宣告變數
  • 類別(class)和模塊(module
  • 箭頭函式
  • Promise
  • 解構賦值(Destructuring assignment)
  • 展開運算子
  • 樣板字面值(Template literals)
  • 物件的屬性簡寫

ECMAScript 7(2016年)

  • 新的陣列方法 .includes()
  • 指數運算子 **

ECMAScript 8(2017年)

  • 新的物件方法 Object.values()Object.entries()
  • 新的字串方法 padStart()padEnd()
  • 非同步函式的 async/await

ECMAScript 9(2018年)

  • 新的Object spread operator 語法
  • 新的正規表達式特性

ECMAScript 10(2019年)

  • 新的陣列方法 flat()flatMap()
  • 新的字串方法 trimStart()trimEnd()

ECMAScript 11(2020年)

  • 可選鏈(Optional chaining) ?
  • 空值合併運算子(Nullish coalescing Operator) ??
  • BigInt 資料型別
  • 可透過 globalThis 獲得全域物件

ES12 ~ ES13(2021年 ~ 2022 年)

  • 新的字串方法 replaceAll()
  • Promise.any
  • 私有 class 方法
  • 新的物件方法 Object.hasOwnProperty()

以上只是節錄 ECMAScript 各版本出現的重點,實際上想要完整知道更新內容還是推薦直接去看文件。那麼今天就到這邊,最後一天見。


上一篇
[Day 28] 事件的傳遞機制
下一篇
[Day 30] 完賽心得
系列文
複習 JavaScript 核心概念30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言